#ifndef			__PART_HPP__
#define			__PART_HPP__

enum			ElementRef
  {
    ID = 0,
    VS = 1,
    NR = 2
  };

const size_t		ID_SIZE = 2; // id obj
const size_t		VS_SIZE = 1; // visible flag.
const size_t		NR_SIZE = 1; // needs refresh flag
typedef readType	short;

struct			Element
{
  size_t		size;
  size_t		start;
}

class			Part
{
protected:
  void*			_data; // all parts contained
  size_t		_nbParts; // nb of parts in data
  size_t		_partSize; // size of one part (bits)
  std::vector<Element>	_elmStruct; // detail of each element of a part
public:
  void			setDim(size_t dim);
  void			set(size_t, void* Element);
  void			set(size_t num, ElementRef part, void*);
  void*			get(size_t num, size_t part) const;
  void*			get(size_t num) const;

  Part();
  virtual ~Part() {}
};



#endif			/* __PART_HPP__ */
